/*
 * My97 DatePicker 4.7 Release
 * License: http://www.my97.net/dp/license.asp
 */
var $dp,WdatePicker;
(function() {
	var _= {
		$wdate:true,
		$dpPath:"",
		$crossFrame:true,
		doubleCalendar:false,
		enableKeyboard:true,
		enableInputMask:true,
		autoUpdateOnChanged:null,
		whichDayIsfirstWeek:4,
		position: {},
		lang:"auto",
		skin:"default",
		dateFmt:"yyyy-MM-dd",
		realDateFmt:"yyyy-MM-dd",
		realTimeFmt:"HH:mm:ss",
		realFullFmt:"%Date %Time",
		minDate:"1900-01-01 00:00:00",
		maxDate:"2099-12-31 23:59:59",
		startDate:"",
		alwaysUseStartDate:false,
		yearOffset:1911,
		firstDayOfWeek:0,
		isShowWeek:false,
		highLineWeekDay:true,
		isShowClear:true,
		isShowToday:true,
		isShowOK:true,
		isShowOthers:true,
		readOnly:false,
		errDealMode:0,
		autoPickDate:null,
		qsEnabled:true,
		autoShowQS:false,

		specialDates:null,
		specialDays:null,
		disabledDates:null,
		disabledDays:null,
		opposite:false,
		onpicking:null,
		onpicked:null,
		onclearing:null,
		oncleared:null,
		ychanging:null,
		ychanged:null,
		Mchanging:null,
		Mchanged:null,
		dchanging:null,
		dchanged:null,
		Hchanging:null,
		Hchanged:null,
		mchanging:null,
		mchanged:null,
		schanging:null,
		schanged:null,
		eCont:null,
		vel:null,
		errMsg:"",
		quickSel:[],
		has: {}
	};
	WdatePicker=U;
	var X=window,O="document",J="documentElement",C="getElementsByTagName",V,A,T,I,b;
	switch(navigator.appName) {
		case"Microsoft Internet Explorer":
			T=true;
			break;
		case"Opera":
			b=true;
			break;
		default:
			I=true;
			break
	}
	A=L();
	if(_.$wdate)
		M(A+"skin/WdatePicker.css");
	V=X;
	if(_.$crossFrame) {
		try {
			while(V.parent[O]!=V[O]&&V.parent[O][C]("frameset").length==0)
				V=V.parent
		} catch(P) {
		}
	}
	if(!V.$dp)
		V.$dp= {
			ff:I,
			ie:T,
			opera:b,
			el:null,
			win:X,
			status:0,
			defMinDate:_.minDate,
			defMaxDate:_.maxDate,
			flatCfgs:[]
		};
	B();
	if($dp.status==0)
		Z(X, function() {
			U(null,true)
		});
	if(!X[O].docMD) {
		E(X[O],"onmousedown",D);
		X[O].docMD=true
	}
	if(!V[O].docMD) {
		E(V[O],"onmousedown",D);
		V[O].docMD=true
	}
	E(X,"onunload", function() {
		if($dp.dd)
			Q($dp.dd,"none")
	});
	function B() {
		V.$dp=V.$dp|| {};
		obj= {
			$: function($) {
				return(typeof $=="string")?X[O].getElementById($):$
			},
			$D: function($,_) {
				return this.$DV(this.$($).value,_)
			},
			$DV: function(_,$) {
				if(_!="") {
					this.dt=$dp.cal.splitDate(_,$dp.cal.dateFmt);
					if($)
						for(var B in $)
							if(this.dt[B]===undefined)
								this.errMsg="invalid property:"+B;
							else {
								this.dt[B]+=$[B];
								if(B=="M") {
									var C=$["M"]>0?1:0,A=new Date(this.dt["y"],this.dt["M"],0).getDate();
									this.dt["d"]=Math.min(A+C,this.dt["d"])
								}
							}
					if(this.dt.refresh())
						return this.dt
				}
				return""
			},
			show: function() {
				var A=V[O].getElementsByTagName("div"),$=100000;
				for(var B=0;B<A.length;B++) {
					var _=parseInt(A[B].style.zIndex);
					if(_>$)
						$=_
				}
				this.dd.style.zIndex=$+2;
				Q(this.dd,"block")
			},
			hide: function() {
				Q(this.dd,"none")
			},
			attachEvent:E
		};
		for(var $ in obj)
			V.$dp[$]=obj[$];
		$dp=V.$dp
	}

	function E(A,$,_) {
		if(T)
			A.attachEvent($,_);
		else if(_) {
			var B=$.replace(/on/,"");
			_._ieEmuEventHandler= function($) {
				return _($)
			};
			A.addEventListener(B,_._ieEmuEventHandler,false)
		}
	}

	function L() {
		var _,A,$=X[O][C]("script");
		for(var B=0;B<$.length;B++) {
			_=$[B].src.substring(0,$[B].src.toLowerCase().indexOf("wdatepicker.js"));
			A=_.lastIndexOf("/");
			if(A>0)
				_=_.substring(0,A+1);
			if(_)
				break
		}
		return _
	}

	function F(F) {
		var E,C;
		if(F.substring(0,1)!="/"&&F.indexOf("://")==-1) {
			E=V.location.href;
			C=location.href;
			if(E.indexOf("?")>-1)
				E=E.substring(0,E.indexOf("?"));
			if(C.indexOf("?")>-1)
				C=C.substring(0,C.indexOf("?"));
			var G,I,$="",D="",A="",J,H,B="";
			for(J=0;J<Math.max(E.length,C.length);J++) {
				G=E.charAt(J).toLowerCase();
				I=C.charAt(J).toLowerCase();
				if(G==I) {
					if(G=="/")
						H=J
				} else {
					$=E.substring(H+1,E.length);
					$=$.substring(0,$.lastIndexOf("/"));
					D=C.substring(H+1,C.length);
					D=D.substring(0,D.lastIndexOf("/"));
					break
				}
			}
			if($!="")
				for(J=0;J<$.split("/").length;J++)
					B+="../";
			if(D!="")
				B+=D+"/";
			F=E.substring(0,E.lastIndexOf("/")+1)+B+F
		}
		_.$dpPath=F
	}

	function M(A,$,B) {
		var D=X[O][C]("HEAD").item(0),_=X[O].createElement("link");
		if(D) {
			_.href=A;
			_.rel="stylesheet";
			_.type="text/css";
			if($)
				_.title=$;
			if(B)
				_.charset=B;
			D.appendChild(_)
		}
	}

	function Z($,_) {
		E($,"onload",_)
	}

	function G($) {
		$=$||V;
		var A=0,_=0;
		while($!=V) {
			var D=$.parent[O][C]("iframe");
			for(var F=0;F<D.length;F++) {
				try {
					if(D[F].contentWindow==$) {
						var E=W(D[F]);
						A+=E.left;
						_+=E.top;
						break
					}
				} catch(B) {
				}
			}
			$=$.parent
		}
		return {
			"leftM":A,
			"topM":_
		}
	}

	function W(F) {
		if(F.getBoundingClientRect)
			return F.getBoundingClientRect();
		else {
			var A= {
				ROOT_TAG:/^body|html$/i,
				OP_SCROLL:/^(?:inline|table-row)$/i
			},E=false,H=null,_=F.offsetTop,G=F.offsetLeft,D=F.offsetWidth,B=F.offsetHeight,C=F.offsetParent;
			if(C!=F)
				while(C) {
					G+=C.offsetLeft;
					_+=C.offsetTop;
					if(S(C,"position").toLowerCase()=="fixed")
						E=true;
					else if(C.tagName.toLowerCase()=="body")
						H=C.ownerDocument.defaultView;
					C=C.offsetParent
				}
			C=F.parentNode;
			while(C.tagName&&!A.ROOT_TAG.test(C.tagName)) {
				if(C.scrollTop||C.scrollLeft)
					if(!A.OP_SCROLL.test(Q(C)))
						if(!b||C.style.overflow!=="visible") {
							G-=C.scrollLeft;
							_-=C.scrollTop
						}
				C=C.parentNode
			}
			if(!E) {
				var $=a(H);
				G-=$.left;
				_-=$.top
			}
			D+=G;
			B+=_;
			return {
				"left":G,
				"top":_,
				"right":D,
				"bottom":B
			}
		}
	}

	function N($) {
		$=$||V;
		var B=$[O],A=($.innerWidth)?$.innerWidth:(B[J]&&B[J].clientWidth)?B[J].clientWidth:B.body.offsetWidth,_=($.innerHeight)?$.innerHeight:(B[J]&&B[J].clientHeight)?B[J].clientHeight:B.body.offsetHeight;
		return {
			"width":A,
			"height":_
		}
	}

	function a($) {
		$=$||V;
		var B=$[O],A=B[J],_=B.body;
		B=(A&&A.scrollTop!=null&&(A.scrollTop>_.scrollTop||A.scrollLeft>_.scrollLeft))?A:_;
		return {
			"top":B.scrollTop,
			"left":B.scrollLeft
		}
	}

	function D($) {
		var _=$?($.srcElement||$.target):null;
		try {
			if($dp.cal&&!$dp.eCont&&$dp.dd&&_!=$dp.el&&$dp.dd.style.display=="block")
				$dp.cal.close()
		} catch($) {
		}
	}

	function Y() {
		$dp.status=2;
		H()
	}

	function H() {
		if($dp.flatCfgs.length>0) {
			var $=$dp.flatCfgs.shift();
			$.el= {
				innerHTML:""
			};
			$.autoPickDate=true;
			$.qsEnabled=false;
			K($)
		}
	}

	var R,$;
	function U(J,C) {
		$dp.win=X;
		B();
		J=J|| {};
		if(C) {
			if(!G()) {
				$=$||setInterval( function() {
					if(V[O].readyState=="complete")
						clearInterval($);
					U(null,true)
				},50);
				return
			}
			if($dp.status==0) {
				$dp.status=1;
				K({
					el: {
						innerHTML:""
					}
				},true)
			} else
				return
		} else if(J.eCont) {
			J.eCont=$dp.$(J.eCont);
			$dp.flatCfgs.push(J);
			if($dp.status==2)
				H()
		} else {
			if($dp.status==0) {
				U(null,true);
				return
			}
			if($dp.status!=2)
				return;
			var F=D();
			if(F) {
				$dp.srcEl=F.srcElement||F.target;
				F.cancelBubble=true
			}
			J.el=$dp.$(J.el||$dp.srcEl);
			if(!J.el||J.el["My97Mark"]===true||J.el.disabled||(J.el==$dp.el&&Q($dp.dd)!="none"&&$dp.dd.style.left!="-1970px")) {
				J.el["My97Mark"]=false;
				return
			}
			K(J);
			if(F&&J.el.nodeType==1&&J.el["My97Mark"]===undefined) {
				$dp.el["My97Mark"]=false;
				var _,A;
				if(F.type=="focus") {
					_="onclick";
					A="onfocus"
				} else {
					_="onfocus";
					A="onclick"
				}
				E(J.el,_,J.el[A])
			}
		}
		function G() {
			if(T&&V!=X&&V[O].readyState!="complete")
				return false;
			return true
		}

		function D() {
			if(I) {
				func=D.caller;
				while(func!=null) {
					var $=func.arguments[0];
					if($&&($+"").indexOf("Event")>=0)
						return $;
					func=func.caller
				}
				return null
			}
			return event
		}

	}

	function S(_,$) {
		return _.currentStyle?_.currentStyle[$]:document.defaultView.getComputedStyle(_,false)[$]
	}

	function Q(_,$) {
		if(_)
			if($!=null)
				_.style.display=$;
			else
				return S(_,"display")
	}

	function K(H,$) {
		for(var D in _)
			if(D.substring(0,1)!="$")
				$dp[D]=_[D];
		for(D in H)
			if($dp[D]!==undefined)
				$dp[D]=H[D];
		var E=$dp.el?$dp.el.nodeName:"INPUT";
		if($||$dp.eCont||new RegExp(/input|textarea|div|span|p|a/ig).test(E))
			$dp.elProp=E=="INPUT"?"value":"innerHTML";
		else
			return;
		if($dp.lang=="auto")
			$dp.lang=T?navigator.browserLanguage.toLowerCase():navigator.language.toLowerCase();
		if(!$dp.dd||$dp.eCont||($dp.lang&&$dp.realLang&&$dp.realLang.name!=$dp.lang&&$dp.getLangIndex&&$dp.getLangIndex($dp.lang)>=0)) {
			if($dp.dd&&!$dp.eCont)
				V[O].body.removeChild($dp.dd);
			if(_.$dpPath=="")
				F(A);
			var B="<iframe style=\"width:1px;height:1px\" src=\""+_.$dpPath+"My97DatePicker.htm\" frameborder=\"0\" border=\"0\" scrolling=\"no\"></iframe>";
			if($dp.eCont) {
				$dp.eCont.innerHTML=B;
				Z($dp.eCont.childNodes[0],Y)
			} else {
				$dp.dd=V[O].createElement("DIV");
				$dp.dd.style.cssText="position:absolute";
				$dp.dd.innerHTML=B;
				V[O].body.appendChild($dp.dd);
				Z($dp.dd.childNodes[0],Y);
				if($)
					$dp.dd.style.left=$dp.dd.style.top="-1970px";
				else {
					$dp.show();
					C()
				}
			}
		} else if($dp.cal) {
			$dp.show();
			$dp.cal.init();
			if(!$dp.eCont)
				C()
		}
		function C() {
			var F=$dp.position.left,B=$dp.position.top,C=$dp.el;
			if(C!=$dp.srcEl&&(Q(C)=="none"||C.type=="hidden"))
				C=$dp.srcEl;
			var H=W(C),$=G(X),D=N(V),A=a(V),E=$dp.dd.offsetHeight,_=$dp.dd.offsetWidth;
			if(isNaN(B)) {
				if(B=="above"||(B!="under"&&(($.topM+H.bottom+E>D.height)&&($.topM+H.top-E>0))))
					B=A.top+$.topM+H.top-E-2;
				else
					B=A.top+$.topM+Math.min(H.bottom,D.height-E)+2
			} else
				B+=A.top+$.topM;
			if(isNaN(F))
				F=A.left+Math.min($.leftM+H.left,D.width-_-5)-(T?2:0);
			else
				F+=A.left+$.leftM;
			$dp.dd.style.top=B+"px";
			$dp.dd.style.left=F+"px"
		}

	}

})()